use videoDownloader::content_detector::ContentDetector;
use videoDownloader::converter::{ConverterFactory, ConversionOptions};
use videoDownloader::error::DownloadResult;

#[tokio::main]
async fn main() -> DownloadResult<()> {
    println!("🔍 测试unknown格式处理");
    
    // 创建一个空的数据来模拟无法识别的格式
    let test_data = vec![0x00u8; 512]; // 全0的数据，无法识别
    
    // 检测格式
    let detected_format = ContentDetector::detect_real_format(&test_data);
    println!("🔍 检测到的格式: {}", detected_format);
    
    // 测试unknown格式的处理
    if detected_format == "unknown" {
        println!("⚠️  检测到unknown格式，测试默认处理");
        let effective_format = "ts".to_string();
        
        // 创建转换器
        let converter = ConverterFactory::create_ts_converter(1024 * 1024);
        
        // 测试转换选项 - 使用有效的格式而不是unknown
        let options = ConversionOptions {
            output_format: effective_format.clone(),
            quality: None,
            preserve_encoding: true,
            custom_params: Vec::new(),
        };
        
        // 验证选项
        match converter.validate_options(&options) {
            Ok(_) => println!("✅ 转换选项验证通过: {}", effective_format),
            Err(e) => println!("❌ 转换选项验证失败: {}", e),
        }
    }
    
    println!("✅ unknown格式处理测试完成");
    Ok(())
}